package com.sprouting.personal.utils;

import cn.hutool.core.date.DateUtil;
import com.nlf.calendar.Lunar;
import com.sprouting.personal.model.vo.LunarVo;
import lombok.extern.slf4j.Slf4j;

import java.util.Date;
import java.util.List;

/**
 * 日期工具
 *
 * @author ：LX（长沙麓谷）
 * @date 创建时间： 2022/11/13 11:32
 */
@Slf4j
public class DateTool {


    /**
     * 获取指定时间的农历信息
     * @param date 要获取的时间
     * @return
     */
    public static LunarVo toLunar(Date date){
        if (date == null){
            return new LunarVo();
        }

        Lunar lunar = new Lunar(date);
        LunarVo lunarVo = new LunarVo();
        lunarVo.setDate(DateUtil.formatDate(date));
        lunarVo.setYearLunar(lunar.getYear() + "");
        lunarVo.setMonthLunar(lunar.getMonth() + "");
        lunarVo.setDayLunar(lunar.getDay() + "");
        lunarVo.setLunarStr(lunar.getYear() + "年" + lunar.getMonth() + "月" + lunar.getDay() + "日");
        lunarVo.setYear(lunar.getYearGan() + lunar.getYearZhi());
        lunarVo.setChineseZodiac(lunar.getYearShengXiao());
        lunarVo.setWeek(lunar.getWeekInChinese());
        // 节日
        List<String> festivalList = lunar.getFestivals();
        // 节气
        String jieQi = lunar.getJieQi();
        lunarVo.setFestivalList(festivalList);
        lunarVo.setJieQi(jieQi);
        return lunarVo;
    }



    // public static void main(String[] args) {
    //     // DateTool.toLunar(new Date());
    //     // DateTool.toLunar(DateUtil.parseDate("2022-10-23"));
    //     DateTool.toLunar(DateUtil.parseDate("2022-10-04"));
    // }
}
